상위 계층의 이해
OSI 7계층 모델에서 상위 계층인 세션 계층, 표현 계층, 응용 계층은 사용자 프로그램으로 구현되는데, 일반적으로 세 계층의 기능이 하나의 프로그램으로 묶여 구현된다.
| 계층 | 역할 |
|---|---|
| 세션 계층 (Session Layer, 5계층) | 통신 세션 관리 (연결 설정, 유지, 해제) |
| 표현 계층 (Presentation Layer, 6계층) | 데이터 변환, 압축, 암호화 |
| 응용 계층 (Application Layer, 7계층) | 사용자와 네트워크 간 인터페이스 제공 |
세션 계층
✅ 통신 세션을 설정, 유지, 해제하는 기능을 담당한다.
✅ 데이터 송수신 시 동기화를 수행하여, 중단 시 다시 연결할 수 있도록 지원한다.
✅ 응용 계층 간의 데이터 교환을 관리하며, 송수신 흐름을 제어한다.
📌 세션 연결
| 기능 | 설명 |
|---|---|
| 세션 설정 (Session Establishment) | 응용 프로세스 간 통신 세션을 설정 |
| 세션 유지 (Session Maintenance) | 오류 발생 시 재전송을 통해 연결 유지 |
| 세션 해제 (Session Termination) | 통신이 끝나면 세션을 정상적으로 종료 |
📌 동기
✅ 동기 기능은 통신 양단에서 서로 동의하는 논리적인 공통 처리 지점, 즉 동기점을 지정하기 위해 사용한다.
✅ 메시지 전송 과정에서 발생하는 오류를 복구하기 위해 동기점을 설정한다.
📌 토큰
✅ 세션 계층은 두 응용 프로세스의 대화를 관리하기 위해 토큰이라는 특수 메시지를 사용한다.
🔹 토큰의 종류
| 종류 | 역할 |
|---|---|
| 데이터 토큰 | 데이터를 전송할 수 있는 권리를 제공 |
| 해제 토큰 | 통신 양단 간의 연결 해제 과정을 제어 |
| 동기 토큰 | 동기 처리가 필요한 지점에 사용 |
📌 동기
✅ 세션 계층에서는 통신 중 오류가 발생할 경우를 대비해 동기화 지점을 설정한다.
✅ 동기화를 통해 중단된 데이터 전송을 특정 지점부터 다시 시작할 수 있다.
| 동기화 방식 | 설명 |
|---|---|
| 일반 동기 (Minor Synchronization) | 작은 단위의 데이터 복구용 |
| 주 동기 (Major Synchronization) | 전체 데이터 복구용 |
📌 세션 연결 (Session Connection)
✅ 세션 계층에서 제공하는 연결은 응용 프로세스가 다른 응용 프로세스에 세션을 설정하기 위해 사용한다.
🔹 다중 세션 연결 서버
- 다수의 클라이언트 프로세스에 동시에 여러 세션 연결을 설정할 수 있는 서버
- 멀티스레딩 또는 비동기 I/O 방식을 사용해 다중 연결을 처리
ex) 웹 서버, 게임 서버, 채팅 서버 등
🔹 단일 세션 연결 서버
- 한 번에 하나의 클라이언트만 연결할 수 있는 서버
- 새로운 클라이언트가 연결 요청 시, 기존 연결을 종료하거나 대기
ex) 텔넷, FTP 등
표현 계층
✅ 응용 프로세스 사이 전송되는 메시지의 표현 방법을 다룬다.
✅ 송신 프로세스가 전달하는 의미를 수신 프로세스에서 정확히 이해할 수 있도록 한다.
📌 데이터 표현
✅ 네트워크에서 송수신되는 데이터를 응용 프로그램이 이해할 수 있도록 변환한다.
✅ 데이터 변환 작업을 수행하여, 서로 다른 시스템 간 호환성을 유지한다.
🔹 주요 변환 방식
| 변환 방식 | 설명 | 예시 |
|---|---|---|
| 문자 인코딩 변환 | ASCII ↔ Unicode 변환 | 다국어 지원 |
| 파일 형식 변환 | JPEG ↔ PNG 변환 | 이미지 변환 |
| 데이터 구조 변환 | Big-endian ↔ Little-endian 변환 | CPU 구조 차이 해결 |
📌 데이터 압축
✅ 네트워크 대역폭을 절약하고 전송 속도를 향상시키기 위해 데이터를 압축한다.
| 압축 방식 | 설명 | 예시 |
|---|---|---|
| 무손실 압축 | 데이터 손실 없이 크기 축소 | ZIP, PNG |
| 손실 압축 | 품질 저하를 허용하며 크기 축소 | MP3, JPEG |
- 손실 압축을 사용하는 이유는 비손실 압축에 비해 압축 데이터의 크기가 작기 때문이다.
응용 계층
✅ 하부 계층을 이용해 사용자에게 편리한 응용 환경을 제공한다.
✅ 운영체제에서 제공되는 계층 4의 인터페이스를 사용해 통신 기능을 구현한다.